Apache ANT এর if এবং unless attributes আপনাকে নির্দিষ্ট শর্তে একটি target বা task চালানোর জন্য ব্যবহার করার সুযোগ দেয়। এটি বিশেষভাবে তখন ব্যবহার হয় যখন আপনি কোনও নির্দিষ্ট শর্ত পূর্ণ হলে একটি কাজ চালাতে চান বা না চালাতে চান।
if Attribute:
if attribute ব্যবহার করে আপনি শর্ত নির্ধারণ করতে পারেন, এবং যদি ওই শর্তটি সত্য হয় (True), তাহলে ANT সেই task বা target চালাবে।
unless Attribute:
unless attribute ব্যবহার করে আপনি শর্ত নির্ধারণ করতে পারেন, এবং যদি ওই শর্তটি মিথ্যা (False) হয়, তাহলে ANT সেই task বা target চালাবে।
if এবং unless Attributes এর ব্যবহার
সিনট্যাক্স:
<target name="targetName" if="propertyName">
<!-- Task or commands -->
</target>
<target name="targetName" unless="propertyName">
<!-- Task or commands -->
</target>
if="propertyName": যদিpropertyNameনামে কোনো প্রপার্টি সেট করা থাকে এবং তার মানtrueহয়, তাহলে এই target বা task চালানো হবে।unless="propertyName": যদিpropertyNameনামে কোনো প্রপার্টি সেট করা না থাকে বা তার মানfalseহয়, তখন এই target বা task চালানো হবে।
if এবং unless Attribute ব্যবহার করে উদাহরণ
উদাহরণ ১: if Attribute
<project name="IfExample" default="compile">
<!-- একটি প্রপার্টি সেট করা -->
<property name="compile" value="true"/>
<!-- এই target শুধুমাত্র compile প্রপার্টি যদি true হয়, তখনই চলবে -->
<target name="compile" if="compile">
<echo message="Compiling the source code..."/>
</target>
</project>
ব্যাখ্যা:
- এখানে
compileনামে একটি প্রপার্টি তৈরি করা হয়েছে, যার মানtrue। compiletarget শুধুমাত্র তখনই চালানো হবে, যখনcompileপ্রপার্টির মানtrueথাকবে।
উদাহরণ ২: unless Attribute
<project name="UnlessExample" default="compile">
<!-- একটি প্রপার্টি সেট করা -->
<property name="compile" value="false"/>
<!-- এই target শুধুমাত্র compile প্রপার্টি যদি false হয়, তখনই চলবে -->
<target name="compile" unless="compile">
<echo message="Skipping compilation as the compile property is false."/>
</target>
</project>
ব্যাখ্যা:
- এখানে
compileপ্রপার্টির মানfalse। compiletarget শুধুমাত্র তখনই চালানো হবে, যদিcompileপ্রপার্টির মানfalseথাকে। অর্থাৎ, এই উদাহরণে কম্পাইলেশন স্কিপ করা হবে।
if এবং unless একসাথে ব্যবহার:
একই target বা task-এ if এবং unless attributes একসাথে ব্যবহার করা যেতে পারে, তবে একে অন্যের বিপরীত শর্তের অধীনে ব্যবহার করা হয়।
উদাহরণ:
<project name="IfUnlessExample" default="compile">
<!-- দুটি প্রপার্টি সেট করা -->
<property name="compile" value="true"/>
<property name="skipCompile" value="false"/>
<!-- এই target compile প্রপার্টি যদি true এবং skipCompile প্রপার্টি যদি false হয়, তখনই চলবে -->
<target name="compile" if="compile" unless="skipCompile">
<echo message="Compiling the source code..."/>
</target>
</project>
ব্যাখ্যা:
- এই target শুধুমাত্র তখনই চলবে, যখন
compileপ্রপার্টির মানtrueহবে এবংskipCompileপ্রপার্টির মানfalseথাকবে।
সারমর্ম:
ifAttribute: একটি task বা target চালানোর জন্য একটি শর্ত পূর্ণ হলে এটি কার্যকর হয়।unlessAttribute: একটি task বা target চালানোর জন্য শর্ত পূর্ণ না হলে এটি কার্যকর হয়।
এগুলি ব্যবহারের মাধ্যমে আপনি Apache ANT বিল্ড স্ক্রিপ্টে শর্তযুক্ত কার্যক্রম পরিচালনা করতে পারবেন, যা বিল্ড প্রক্রিয়াকে আরও নমনীয় এবং কার্যকরী করে তোলে।